package com.freedom.start.common.base;

import java.util.List;

/**
 * @Author: zhenggang.liu
 * @Date: 2019/12/28 9:31
 */
public interface BaseCrudDao<T> {

    /**
     * 获取单条数据
     * @param id
     * @return
     */
    T getById(String id);

    /**
     * 返回所有数据
     * @return
     */
    List<T> findAll();

    /**
     * 查询数据列表，如果需要分页，请设置分页对象,如entity.setOrderBy()
     * @param entity
     * @return
     */
    public List<T> findList(T entity);

    /**
     * 插入数据
     * @param entity
     * @return
     */
    public int insert(T entity);

    /**
     * 更新数据
     * @param entity
     * @return
     */
    public int update(T entity);

    /**
     * 删除数据，逻辑删除
     * @param entity
     * @return
     */
    public int delete(T entity);

    /**
     * 删除数据，逻辑删除
     * @param id
     * @return
     */
    public int deleteById(String id);

    /**
     * 批量删除数据，逻辑删除
     * @param idArray
     * @return
     */
    public int deleteBatch(String[] idArray);

}
